﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum РазделыАДВ11
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"77e0aec2-6f3e-411d-b649-0de686921fbf\", \"Представление\":\"ЗадолженностьНаНачало\"}")]
		ЗадолженностьНаНачало = 0,//Долг по состоянию на начало отчетного года за:
		[EnumMember(Value = "{\"Ссылка\":\"350f32e1-be6e-44fa-a2fd-76ddbd1d020d\", \"Представление\":\"УплатаЗаПериод\"}")]
		УплатаЗаПериод = 1,//Уплачено за:
		[EnumMember(Value = "{\"Ссылка\":\"13ebb1ce-cf45-4912-8d3b-45fd8173bc71\", \"Представление\":\"НачисленияЗаПериод\"}")]
		НачисленияЗаПериод = 2,//Начислено за:
		[EnumMember(Value = "{\"Ссылка\":\"cf363e2f-68e0-4600-b679-b8f9758e2391\", \"Представление\":\"ЗадолженностьНаКонец\"}")]
		ЗадолженностьНаКонец = 3,//Долг по состоянию на конец отчетного года за:
	}
	public static partial class РазделыАДВ11_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ЗадолженностьНаНачало = new Guid("e60d49b6-9286-bf1f-411d-6f3e77e0aec2");//Долг по состоянию на начало отчетного года за:
		public static readonly Guid УплатаЗаПериод = new Guid("dd76fda2-1dbd-0d02-44fa-be6e350f32e1");//Уплачено за:
		public static readonly Guid НачисленияЗаПериод = new Guid("fd453b8d-7381-71bc-4912-cf4513ebb1ce");//Начислено за:
		public static readonly Guid ЗадолженностьНаКонец = new Guid("f9b879b6-8e75-9123-4600-68e0cf363e2f");//Долг по состоянию на конец отчетного года за:
		public static РазделыАДВ11 Получить(this РазделыАДВ11 Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static РазделыАДВ11 Получить(this РазделыАДВ11 Значение, Guid Ссылка)
		{
			if(Ссылка == ЗадолженностьНаНачало)
			{
				return РазделыАДВ11.ЗадолженностьНаНачало;
			}
			else if(Ссылка == УплатаЗаПериод)
			{
				return РазделыАДВ11.УплатаЗаПериод;
			}
			else if(Ссылка == НачисленияЗаПериод)
			{
				return РазделыАДВ11.НачисленияЗаПериод;
			}
			else if(Ссылка == ЗадолженностьНаКонец)
			{
				return РазделыАДВ11.ЗадолженностьНаКонец;
			}
			return РазделыАДВ11.ПустаяСсылка;
		}
		public static byte[] Ключ(this РазделыАДВ11 Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this РазделыАДВ11 Значение)
		{
			switch (Значение)
			{
				case РазделыАДВ11.ЗадолженностьНаНачало: return ЗадолженностьНаНачало;
				case РазделыАДВ11.УплатаЗаПериод: return УплатаЗаПериод;
				case РазделыАДВ11.НачисленияЗаПериод: return НачисленияЗаПериод;
				case РазделыАДВ11.ЗадолженностьНаКонец: return ЗадолженностьНаКонец;
			}
			return Guid.Empty;
		}
	}
}